package com.example.springmvc.controller;

import com.example.springmvc.exception.DeptException;
import com.example.springmvc.pojo.ApiResult;
import com.example.springmvc.pojo.Dept;
import com.example.springmvc.pojo.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * @Description:
 * @Author: lijiewei
 * @Date: 2020/7/13$ 22:11$
 */
@RestController
@RequestMapping("/dept")
@Slf4j
public class DeptController {


//    @GetMapping("/get1")
//    public ApiResult get1(@RequestParam String name, @RequestParam String info) {
//        log.info("部门名：{}， 信息：{}", name, info);
//        int a = 1/0;
//        return ApiResult.ok(name);
//    }


//    @GetMapping("/get2")
//    public ApiResult get2(@RequestParam String name, @RequestParam String info, Model model) {
//        Map<String, Object> map = model.asMap();
//        Dept dept = (Dept) map.get("myDept");
//       log.info("部门名：{}， 信息：{}", dept.getName(), dept.getInfo());
//       return ApiResult.ok(dept.getName());
//    }


//    @GetMapping("/get3")
//    public ApiResult get3(@ModelAttribute("u")User user, @ModelAttribute("d") Dept dept) {
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//       log.info("部门名：{}， 信息：{}", dept.getName(), dept.getInfo());
//       return ApiResult.ok(dept.getName());
//    }

//    @GetMapping("/get4")
//    @CrossOrigin(origins = "*", allowCredentials="true", methods=RequestMethod.GET)
//    public ApiResult get4(@CookieValue("name") String name, @CookieValue String info) {
//        log.info("部门名：{}， 信息：{}", name, info);
//        return ApiResult.ok(name);
//    }

//    @GetMapping("/get5")
//    public ApiResult get5(@RequestAttribute String data, HttpServletRequest request) {
//        log.info("@RequestAttribute注解获取：{}", data);
//        log.info("HttpServletRequest中获取：{}", request.getAttribute("data"));
//        return ApiResult.ok(data);
//    }

//    @GetMapping("/get6")
//    public ApiResult get6(@RequestHeader String accept, @RequestHeader(value = "connection") String conn) {
//        log.info("客户端接收内容类型：{}, 是否持久连接：{}", accept, conn);
//        return ApiResult.ok(accept);
//    }


//      @GetMapping("/get7")
//      @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR)
//      public ApiResult get7(String name, String info) {
//        return ApiResult.ok(name);
//      }

//    @GetMapping("/get7")
//    public ApiResult get7(String name, String info) {
//        int a = 1/0;
//        return ApiResult.ok(name);
//    }

//    @GetMapping("/get7")
//    public ApiResult get7(String name, String info) {
//        throw new DeptException("dept异常");
//    }








}
